草庐IT

c++ - 游戏GUI库

全部标签

javascript - 是什么导致了 C 和 JavaScript 之间的这种行为差异?

给定以下C代码:intnSum=0;//pNumberis9109190866037intnDigits=strlen(pNumber);intnParity=(nDigits-1)%2;charcDigit[2]="\0";for(inti=nDigits;i>0;i--){cDigit[0]=pNumber[i-1];intnDigit=atoi(cDigit);if(nParity==i%2){nDigit=nDigit*2;}nSum+=nDigit/10;nSum+=nDigit%10;printf("NUMBER:%d\n",nSum);}输出:NUMBER:13NUMBE

javascript - node.js 存储游戏状态,如何?

我正在用javascript编写一个游戏,为了防止作弊,我在服务器上玩这个游戏(这是一个像更复杂的跳棋一样的棋盘游戏)。由于游戏相当复杂,我需要存储游戏状态以验证客户端操作。是否可以将游戏状态存储在内存中?那聪明吗?我应该这样做吗?如果是这样,如何?我不知道那会怎样。我也可以存入redis。那种事情对我来说很熟悉,不需要解释。但如果我确实存储在redis中,问题是在每一个Action中,游戏都需要从redis获取数据并解释和解析该数据,以便从头开始重新创建游戏状态。但由于移动发生得非常频繁,这对我来说似乎很愚蠢。我该怎么办? 最佳答案

JavaScript 游戏视口(viewport)

您好,我是JavaScript的新手,因此决定按照w3schoolsgametutorial了解更多信息.我决定让它成为一款平台游戏,但我一直无法弄清楚如何在Canvas外添加跟随玩家的视口(viewport)。谁能帮帮我?提前致谢。Fiddle//BackgroundvarBackground;//ObjectsvarPlayer;varObstacle;//MobilebuttonsvarUpBtn;varDownBtn;varLeftBtn;varRightBtn;//EndfunctionstartGame(){Background=newcomponent(656,270,"

javascript - 如何将 Phaser 3 游戏及其 Assets 扩展到智能手机和平板电脑上?

我刚开始使用Phaser3和ApacheCórdova创建移动Android游戏。我创建了一个1200x800像素的游戏。它在平板电脑上看起来不错,但在智能手机上却不行。如何缩放它以在多种屏幕尺寸下工作?此外,我需要帮助来强制使用Phaser3调整游戏方向。谢谢 最佳答案 functioncreate(){window.addEventListener('resize',resize);resize();}functionresize(){varcanvas=game.canvas,width=window.innerWidth,h

javascript - 游戏关卡的数据结构

我正在使用完全基于图block的canvas在JavaScript中创建平台游戏。在游戏中存储元素block(墙壁、地板、元素)的最佳方法是什么?问题是每一block瓷砖都可以被摧毁或创造。目前我有一个二维数组,因此我能够快速检查某个项目是否位于特定的X和Y位置。这个问题是当用户移动并且map需要滚动时,我需要重新分配每个block。当项目位于x=0时会发生什么?我不能使用负索引。我宁愿将滚动模拟一次放到一个图block上。我还计划在用户移动时随机生成map,如果以前没有生成过的话。因此,一旦生成某些东西,它就应该永远保持这种状态。我应该提到的另一点是它也将是多人游戏。因此,在缓存数据

javascript - 是否可以异步运行 WebAssembly 代码?

我已经编写了一个C函数,我可以使用WebAssembly从Angular/TypeScript/JavaScript执行它:testWebAssembly(){Module.ccall("aCFunction",null,[],[]);//takesafewsecondstofinish}此函数执行一些繁重的数学计算,需要几秒钟才能完成。当用户点击按钮时触发:LaunchCfunction是否可以执行函数,使其不阻塞Web应用程序的UI?我尝试了setTimeOut/async/Promise,但我似乎无法让它工作。谢谢! 最佳答案

javascript - Javascript 编写的游戏的服务器端高分

我正在用Javascript实现一个简单的游戏,并且有兴趣为其创建一个在线高分表,以便玩家可以相互竞争。我对此有两个担忧:为此我需要的最简单的服务器端程序是什么?我不需要一个成熟的“网络应用程序”,只需要一些简单的东西来获取带有高分的POST请求、更新数据库并发回分数列表。我熟悉Django。你有什么建议?如何使高分表合理安全?我知道要让它对有能力和敬业的黑客无懈可击是很困难的,但我不希望任何有权访问Javascript源代码的人都能够过于简单地提交虚构的分数。是否有用于此目的的工具? 最佳答案 获得高分将非常困难。我的意思是,仅仅

javascript - 用 dat.gui 保存参数似乎坏了?

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭1年前。Improvethisquestion在dat.gui中保存参数似乎有问题,或者我遗漏了一些非常明显的东西..单击齿轮图标时出现问题,该图标应打开一个包含要保存的JSON的弹出窗口。保存到本地存储对我也不起作用。这里有两个JSFiddle:http://jsfiddle.net/navFoo

javascript - Phaser 是否能够进行大型多人游戏?

这里是新手。我正在使用Phaser,特别是等距插件。我想知道是否可以在Phaser中创建类似于agar.io的游戏,在处理实时多重连接方面,生成一张包含大约300名玩家的巨大map,所有这些都不会对游戏性能产生太大影响。我真的不知道如何处理多人游戏部分(可能是套接字,node.js)才能让它工作得很好。至于生成一个非常大的map,我也很空白。是否有可能在Phaser中创建一个等距类型的游戏来处理多个实时多人游戏和当用户到达可见“map”的边缘时生成的巨大map?如何?如果不是,我应该选择什么(js和其他应用程序中的游戏引擎)来实现我想要的? 最佳答案

javascript - 为什么 JavaScript 的后自增运算符与 C 和 Perl 不同?

我目前正在准备JavaScript考试。我对C和Perl也有一点了解,所以我熟悉这三种语言的前缀和后缀运算符。我为它做了一个在线练习考试,我犯的一个错误是在评估以下代码时:varx=10;x+=x--;现在,我认为它会计算为19,因为它是10+10,然后减去1得到9。但我得到的反馈是它是错误的,它实际上计算为20。我认为这听起来有点可疑,所以我在HTML文档中对其进行了测试,结果又是20。然后我尝试了C和Perl中的等价物,并且都评估为19。谁能向我解释为什么JavaScript将答案计算为20而其他语言将其计算为19?我从测试中得到的答案对我来说不是太清楚:Theincrement+